You have 2 classes to work with Characters - CharacterClass and CharacterAction
CharacterClass - this class is the actual representation of the Character, storing their location, name, what they are doing, etc.
Static Methods - called in the form App.CharacterClass.FunctionName()
Create("body", "head", bUseCopy) - creates a new character
Cast(pObject) - casts an object to a character
SetAllowExtras(bAllow) - 1 to allow extras
SetWalkOnChance(fChance) - (0-1) chance for an Extra to walk on
GetWalkOnChance() - returns the chance for an Extra
IsSomeoneSpeaking() - returns 1 if someone is talking
GetCurrentToolTipOwner() - returns who has a tool tip up
GetCharacterFromMenu(pMenu) - returns a character from their menu pointer
SetVolumeForLineType(iType, fVolume) - tells the character to soften/mute some types of lines (CSP_SPONTANEOUS, CSP_NORMAL, or CSP_MISSION_CRITICAL)
GetVolumeForLineType(iType) - returns the volume for a line type
Class Functions - called in the form pCharacter.FunctionName()
GetYesSir() - returns the current "Yes, Sir" line
SetYesSir("line") - sets "Yes, Sir" to be a line from the mission database
GetHeadHeight() - gets the offset for the character's head
IsSpeaking() - returns 1 if this character is speaking
IsAnimating() - returns 1 if this character is animating
IsAnimatingInterruptable() - returns 1 when animating interruptable
IsAnimatingNonInterruptable() - returns 1 when animating non-interruptable
IsRandomAnimationEnabled() - returns 1 if random animations are enabled
IsStanding() - returns 1 if standing
IsTurned() - returns 1 if turned
IsUIDisabled() - returns 1 if their menu is disabled
IsGlancing() - returns 1 if they are glancing
SetMenuEnabled(bEnabled) - 1 to enable menu
IsMenuEnabled() - returns 1 if menu is enabled
SetInitiative(bOn) - 1 to enable initiative
IsInitiativeOn() - returns 1 if initiative is enabled
GetLocation() - returns name of their location
GetTurnTowardsLocation() - returns where they are looking
SetRandomAnimationEnabled(bOn) - 1 to enable random animations
SetRandomAnimationChance(fProb) - (0-1) probability of random animation
GetRandomAnimationChance() - returns chance for random animation
SetBlinkChance(fProb) - (0-1) probability of blinking
GetBlinkChance() - returns chance to blink
SetAudioMode(kMode) - CAM_MUTE, CAM_VOCAL, ...
GetAudioMode() - returns how 'vocal' the character is
SetActive(bActive) - 1 to "look active"
IsActive() - returns 1 if the character "is active"
SetLocation("location") - places the character at a location. Takes the "full path" version of the location, as described at the bottom of this document.
MoveTo("location") - has the character walk to a location. Takes the "shorthand" version of the location, such as "T", "H", "C", "C1", "S", "E", "L1"
GlanceAt("location") - has the character glance at a location
GlanceAway() - has the character stop glancing
TurnTowards("location") - has the character turn towards a location
TurnBack() - has the character turn back
Breathe() - forces the character to reset their limbs
PlayAnimation("animation") - plays a registered animation
PlayAnimationFile("filename") - plays a .NIF animation file on the character
SetStanding(bStanding) - 1 to tell the character they are standing
SpeakLine(pDatabase, "string") - has the character say a line out loud
SayLine(pDatabase, "string", "look") - look at a location and say a line
Blink() - force a character to blink
SetDatabase(pDatabase) - has the character default to a database
GetDatabase() - returns the character's default database
SetStatus(kString) - sets the tool-tip status to a line from a TGL
SetMenu(pMenu) - sets the character's menu
GetMenu() - returns the character's menu
MenuUp() - tells the character to pop up their menu
MenuDown() - tells the character to bring down the menu
LookAtMe() - the camera looks at the character
GetLastTalkTime() - returns the last time this character talked
CharacterAction - this class is useful to set up sequence of actions for the characters to do. Creation follows the following:
App.CharacterAction_Create(pCharacter, ActionType, "DetailString", "To", bTurnBack, pDatabase)
However, these options are not all used every time you make a character action. Follow the following list of ActionTypes to decide what args to use, and when:
AT_SET_LOCATION - need a character, and "DetailString" is the new location of the character
AT_MOVE - need a character, "DetailString" is where to have the character move to
AT_TURN - need a character, "DetailString" is where to turn to
AT_TURN_BACK - need a character
AT_TURN_BACK_NOW - similar to AT_TURN_BACK, but has the containing sequence continue immediately, rather than waiting for the turn to finish
AT_DEFAULT - need a character, resets their limbs
AT_BREATHE - need a character, tells them to breathe
AT_SPEAK_LINE - need a character, "DetailString" is the string ID of the line, "To" is ignored and so can be None, 0 for bTurnBack, and a database
AT_SAY_LINE - need a character, "DetailString" is the string ID, "To" is who to turn to, 1 to turn back, and a database
AT_SAY_LINE_AFTER_TURN - similar to AT_SAY_LINE, but the character waits until they are done turning before starting to talk
AT_PLAY_ANIMATION - need a character, "DetailString" is what animation to run
AT_PLAY_ANIMATION_FILE - need a character, "DetailString" is the .NIF file to play
AT_LOOK_AT_ME - need a character, looks at the character
AT_LOOK_AT_ME_NOW - similar to AT_LOOK_AT_ME, but continues the sequence rather than having it wait until the look is done
AT_WATCH_ME - need a character, has the camera watch this character
AT_STOP_WATCHING_ME - need a character, tells the camera to stop watching this character
AT_MENU_UP - need a character, tells the character to bring up their menu
AT_MENU_DOWN - need a character, tells the character to bring down their menu
AT_ENABLE_RANDOM_ANIMATIONS - need a character
AT_DISABLE_RANDOM_ANIMATIONS - need a character
AT_GLANCE_AT - need a character, "DetailString" is where to glance
AT_GLANCE_AWAY - need a character
AT_BECOME_ACTIVE - need a character
AT_BECOME_INACTIVE - need a character
AT_ENABLE_MENU - need a character
AT_DISABLE_MENU - need a character
AT_ENABLE_INITIATIVE - need a character
AT_DISABLE_INITIATIVE - need a character
AT_SET_STATUS - need a character, "DetailString" is the new line to use in the tool tip, "To" can be none, 0 for bTurnBack, need a database
Locations for Characters - placement only. When moving characters, use station names, such as "L1", "C", "C1", "X", etc.
Crew Galaxy locations
GalaxySeated - Captain's chair
GalaxyEngSeated - Engineering on Galaxy
DBHelm - Kiska
DBTactical - Felix
DBCommander - Saffi
DBScience - Miguel
DBEngineer - Brex
DBGuest - Guest chair
DBL1S - Turbolift 1, small body
DBL1M - Turbolift 1, medium body
DBL1L - Turbolift 1, large body
Crew Sovereign locations
SovereignSeated - Captain's chair
SovereignEngSeated - Engineering on Sovereign
EBHelm - Kiska
EBTactical - Felix
EBCommander - Saffi
EBScience - Miguel
EBEngineer - Brex
EBGuest - Guest chair
EBL1S - Turbolift 1, small body
EBL1M - Turbolift 1, medium body
EBL1L - Turbolift 1, large body
EBL2M - Turbolift 2, medium body
Other locations
CardassianSeated
FerengiSeated
KessokSeated
KlingonSeated
RomulanSeated
ShuttleSeated
StarbaseSeated